package br.com.werp.regras.pessoa.integracao;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.ResourceBundle;

import br.com.werp.regras.geral.integracao.MasterDAO;
import br.com.werp.regras.geral.util.Constantes;
import br.com.werp.regras.geral.vos.tabelas.Pessoa;


/**
 * @author Sobreira
 * Criado em 28/01/2005
 *
 */
public class PessoaDAO extends MasterDAO {
    private static PessoaDAO pessoaDAO;

    public PessoaDAO(String banco) throws Exception {
        super(banco);
    }

    public static PessoaDAO getPessoaDAO() throws Exception {
        if (pessoaDAO == null) {
            ResourceBundle bundle = ResourceBundle.getBundle(Constantes.CONFIG);
            pessoaDAO = new PessoaDAO(bundle.getString(Constantes.BANCO));
        }

        return pessoaDAO;
    }

    public void inserirPessoa(Pessoa pessoa, Object conn)
        throws Exception {
        Connection connection = validarTransacao(conn);
        inserirVO(connection, pessoa);
    }

    public void atualizarPessoa(Pessoa pessoa, Object conn)
        throws Exception {
        atualizarVO(validarTransacao(conn), pessoa, new String[] { "pess_id" });
    }

    public void excluirPessoa(Object conn, Pessoa pessoa)
        throws Exception, SQLException {
        Connection connection = validarTransacao(conn);
        excluirVO(connection, pessoa);
    }
}
